package com.powernode.feign.sentinel;

import com.powernode.domain.Prod;
import com.powernode.feign.StoreProdFeign;
import com.powernode.model.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author Ye QS
 * @version 0.1
 * @className StoreProdFeignSentinel
 * @description
 * @date 2024/12/12 19:53
 * @since jdk11
 */
/**
 * 实现StoreProdFeign接口的类，使用Feign和Sentinel进行服务间调用和流量控制
 */
@Component
@Slf4j
public class StoreProdFeignSentinel implements StoreProdFeign {

    /**
     * 根据商品ID列表获取商品对象列表
     * 此方法旨在通过Feign客户端调用远程服务来实现，但在当前上下文中，它仅记录错误信息并返回null
     *
     * @param prodIdList 商品ID列表，用于查询商品对象
     * @return 包含商品对象的列表，如果调用失败则返回null
     */
    @Override
    public Result<List<Prod>> getProdListByIds(List<Long> prodIdList) {
        // 记录错误日志，指示根据商品id集合查询商品对象集合的接口调用失败
        log.error("根据商品id集合查询商品对象集合，接口调用失败");
        return null;
    }
}

